package org.de.maeyer.sampler;

import java.util.Collection;

import org.de.maeyer.unit.Unit;

/**
 * @author Peter De Maeyer
 */
public interface SamplerManager {
	
	Counter newCounter(String name);
	
	Counter getCounter(String name);

	DoubleSampler newDoubleSampler(String name, Unit unit);
	
	DoubleSampler getDoubleSampler(String name);
	
	LongSampler newLongSampler(String name, Unit unit);
	
	LongSampler getLongSampler(String name);
	
	ObjectSampler newObjectSampler(String name, Unit unit);
	
	ObjectSampler getObjectSampler(String name);
	
	Collection<Sampler> getSamplersMatching(String regex);
	
	Collection<Sampler> getSamplersContaining(String excerpt);
	
	Collection<Sampler> getSamplersStartingWith(String prefix);
}
